package com.cn.study.first.stage.zuoye1;

import java.util.Scanner;

public class FirstQuestion {
    //1,3,5,7，8，10，12   31天永不差，4，6，9，11 30整   才有2月28  平年28闰年29
    public static void main(String[] args) {
        int year;
        int month;
        int day = 0;
        int days;
        int d = 0;
        int e = 0;
        Scanner sc = new Scanner(System.in);
        do {

            System.out.println("输入年");
            year = sc.nextInt();
            System.out.println("输入月");
            month = sc.nextInt();
            System.out.println("输入日");
            days = sc.nextInt();
            if (year < 0 || month < 0 || month > 12 || day < 0 || days > 31) {
                System.out.println("输入错误!");
                e = 1;
            }

        } while (e == 1);

        for (int i = 1; i < month; i++) {
            switch (i) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12: {
                    day = 31;
                    break;
                }
                case 4:
                case 6:
                case 9:
                case 11: {
                    day = 30;
                    break;
                }
                case 2: {
/**
 * 闰年:①：非整百年数除以4，无余为闰，有余为平；②整百年数除以400，无余为闰有余平 二月：平年28天、闰年29天
 */
                    if ((year % 100 != 0 && year % 4 == 0) || (year % 100 == 0 && year % 400 == 0)) {
                        day = 29;
                    } else {
                        day = 28;
                    }
                }
                default:
                    break;
            }
            d += day;
        }
        System.out.println("这是" + year + "年的" + (d + days) + "天");
    }
}